import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../controller.dart';

/// 恢复购买按钮组件
/// 功能：提供用户恢复过往购买记录的入口（主要用于非消耗品和订阅类商品）
/// 适用场景：用户更换设备、重新安装应用后恢复已购买的商品
class RestoreButton extends GetView<PaymentController> {
  const RestoreButton({
    super.key,
    required this.controller,
  });

  /// 内购控制器实例
  /// 用于调用恢复购买的业务逻辑方法
  final PaymentController controller;

  @override
  Widget build(BuildContext context) {
    // 加载状态时不显示按钮（避免在初始化完成前触发操作）
    if (controller.state.loading.value) {
      return Container();
    }

    return Padding(
      padding: const EdgeInsets.all(4.0),
      child: Row(
        mainAxisAlignment: MainAxisAlignment.end, // 靠右对齐
        children: <Widget>[
          TextButton(
            style: TextButton.styleFrom(
              backgroundColor: Theme.of(context).primaryColor, // 主题主色背景
              foregroundColor: Colors.white, // 白色文字
            ),
            // 点击触发恢复购买操作
            onPressed: () => controller.restorePurchases(),
            child: const Text('Restore purchases'),
          ),
        ],
      ),
    );
  }
}
